home *** CD-ROM | disk | FTP | other *** search
- (*******************************************************************
- Program/Unit MYPROG.PAS
- Written 06 Dec 90
- Revised .........
- Author Johnathan J. Stein
- PO Box 346
- Perrysburg, OH 43551
- CompuServe 76576,470
- Purpose To illustrate how to implement EXE
- file "stamping", in order to discourage
- illegal copying WITHOUT using copy protection.
- Contents
- --------
- Sample application program, which uses "MyExeCheck" to make sure that
- the installation program has been run to "stamp" the user-specific
- information onto the EXE file.
-
- Both the installation and application program share data display routines.
- *******************************************************************)
- USES Crt,
- exechk ;
-
- {$I mydata.inc } (* Only need Data Display *)
-
- procedure MyExeCheck ( S : string ) ;
- begin
- MyDataInit ;
- (*******************************************************************
- Here is where your program checks for the user-data to be "stamped"
- *******************************************************************)
- if not IsExePersonalized ( S ) then
- begin
- writeln ( 'Program must be installed properly!' ) ;
- writeln ( 'Please consult your manual.' ) ;
- halt ( 1 ) ;
- end ;
- ExeReadData ( S ,
- Data ,
- SizeOf ( Data ) ) ; (* Get info from EXE file *)
- MyDataOutput ; (* Display user info *)
- end ;
-
- procedure MyMainRoutine ;
- begin
- writeln ( 'My program is running!' ) ;
- end ;
-
- begin
- (*******************************************************************
- NOTE: Under DOS 3.x and higher, the program name is returned by
- ParamStr ( 0 ). This is NOT true for prior versions of DOS.
- *******************************************************************)
- MyExeCheck ( ParamStr ( 0 ) ) ;
- FileMode := 2 ; (* Reset to TP default *)
- MyMainRoutine ;
- end .
-